1. Field of the Invention
Embodiments of the present invention generally relate to software provisioning, and more particularly, to a method and apparatus for provisioning subscription products.
2. Description of the Related Art
Provisioning is a process of preparing and equipping a product to allow it to provide new or updated services to a user entitled to have access to the product. A software subscription product is a product in which a user pays a subscription price in order to have access to the product for a specified duration or term, which term is generally renewable, but may be for an unlimited term. When a user purchases a software subscription product, the user typically enters a subscription serial number in order to gain access to the product. Software providers release new subscription applications and upgrades for access by entitled users. For example, an ADOBE® CREATIVE SUITE® 5.5 Suite subscription users may update to an ADOBE® CREATIVE SUITE® 6 Master Collection subscription or an ADOBE® CREATIVE CLOUD® subscription. Alternatively, an ADOBE® CREATIVE SUITE® 6 Photoshop subscription user may update to an ADOBE® CREATIVE CLOUD® subscription.
Currently, in order to use a subscription product, a user must first register with a subscription provider and then enter a subscription serial number. The subscription serial number defines the user's entitlements for a specific product. The entitlements for a product are typically stored on the subscription provider's server as an object in a database. The subscription provider uses subscription object information in the database to auto-renew subscriptions. For example, a subscription object may contain information about the product to which a user is entitled and terms of the subscription. When a user wishes to upgrade to a newer version of a subscription product, the user must re-enter the subscription serial number the user received when the original subscription product was purchased. Unfortunately, a subscription serial number may be misplaced by the user or stolen and used by an unauthorized user.
One solution is to issue new subscription serial numbers for product upgrades. However, the original product from which the subscription was upgraded would stop working because the original product is still associated with the previous subscription serial number. Also, auto-renewal of subscriptions would no longer work because the new subscription object in the subscription provider's database would override any older version of the subscription object. Updating the old subscription objects on the subscription provider's database is not feasible as the number of subscription objects would increase with each release or upgrade and managing them would soon become a formidable challenge.
Therefore, there is a need for a method and apparatus for provisioning subscription products.